

#include "TipoProducto.h"


TipoProducto::TipoProducto() {
    nombre = "";
    productos = new ListaEnlazada<Producto>();
}

TipoProducto::TipoProducto(string nom) {
    nombre = nom;
    productos = new ListaEnlazada<Producto>();
}

TipoProducto::TipoProducto(const TipoProducto& orig) {
}

TipoProducto::~TipoProducto() {
    delete productos;
}

void TipoProducto::setNombre(string nombre) {
    this->nombre = nombre;
}

string TipoProducto::getNombre() const {
    return nombre;
}

string TipoProducto::toString()
{
    stringstream s;
    s<<"Tipo: " << nombre << "\n\tLista de productos:\n" << productos->toString() <<endl;  
    return s.str();
}


ListaEnlazada<Producto>* TipoProducto::getLista()
{
    return productos;
}

bool TipoProducto::operator == (string nom)
{
    return nombre == nom;
}


ostream& operator <<(ostream& os, const TipoProducto& p)
{
	return os<<p.nombre<<endl;
}
 istream& operator >>(istream& is, TipoProducto& p)
{
	//is.ignore();
//    char nom[100];
//	is.getline(nom,100);
//	p.nombre = nom;
    is>>p.nombre;
 
	return is;
}